const express = require('express');
//用于字符串转换为时间
const moment = require('moment')

const router = express.Router();

const shortid = require('shortid');
const AccountModel = require('../../models/AccountModel');



//声明中间件 去检测登录
let checkLoginMiddleware =require('../../midwares/checkLoginWare');
/**
 * 列表展示
 */
router.get('/account',checkLoginMiddleware, function(req, res, next) {

  //读取集合的信息
  AccountModel.find().sort({time:-1}).exec()
  .then((accounts)=>{ res.render('list',{accounts:accounts,moment:moment});})
  .catch((err)=>{
    res.status(500).send('查询失败')
  })


});
/**
 * 进入创建账单记录页面的方法
 */
router.get('/account/create', checkLoginMiddleware,function(req, res, next) {
  res.render('create')
});

/**
 * 添加账单记录+跳转页面
 */
router.post('/account',checkLoginMiddleware, function(req, res) {
  //查看表单数据
  console.log(moment(req.body.time).toDate());
  //插入数据库
  AccountModel.create({
    ...req.body,
    time:moment(req.body.time).toDate()
  })
  .then(() =>{ return res.render('success', {msg: '添加成功', url: '/account'});})
  .catch((err)=>{res.status(500).send('插入失败');return;});

  

});
/**
 * 删除账单记录根据id
 */
router.get('/account/:id',checkLoginMiddleware,(req,res)=>{
  //获取params的id参数
  let id =req.params.id;
  AccountModel.deleteOne({_id:id})
  .then(()=>{  res.render('success',{msg:'删除成功',url:'/account'});})
  .catch(()=>{ res.status(500).send('删除失败')})
});

/**
 * 添加首页的路由规则
 */
router.get('/',(req,res)=>{
  //重定向到 列表页
  res.redirect('/account');
})

module.exports = router;
